The invention relates to the control and/or access of objects, in particular objects known as beans. Beans, for example JavaBeans components (JavaBeans is a trademark of Sun Microsystems, Inc.), are reusable software components which can be manipulated visually in a builder tool (e.g. an editor or graphical user interface builder (GUI builder)). An example of a builder tool is the JavaBeans Development Kit. Further details about beans can be found in many different works, for example in a book entitled Mastering JavaBeans by Lawrence Vanhelsuwe published by Sybex (ISBN 0-7821-2097-0). This is just one example of many broadly equivalent books on the market having xe2x80x9cJavaBeansxe2x80x9d in the title and describing the JavaBeans. Many of these works, including the book Mastering JavaBeans, supply the Bean Development Kit mentioned above.
Beans vary in functionality, but they typically share certain common defining features providing a set of properties, a set of methods and support for events and for introspection, also known as reflection. The properties allow beans to be manipulated programmatically and support customization of the bean. The methods implement the properties. The support for events enables beans to fire events and define the events which can be fired. The support for introspection enables the properties, events and methods of the bean to be inspected externally.
However, beans can generally only be controlled and manipulated within the virtual machine environment in which the beans exist. U.S. Pat. No. 5,315,703 and U.S. Pat. No. 5,367,633 describe object-based systems where change notification functions are provided. However, these patents describe stand-alone systems.
It would be desirable to be able to access and control any bean remotely, for example over a network. However, this has not been possible without actually including appropriate methods within the beans themselves to expose the methods required. However, it is not desirable to have to specifically adapt beans to permit remote access. It would be desirable to be able remotely to access, control and modify any beans remotely without pre-modification.
Accordingly it is an object of the invention to address this problem.
In accordance with a first aspect of the invention, there is provided a computer-implemented method of accessing from a client machine an object at a remote machine via a telecommunications network, the method comprising steps of:
a) registering at least one object at the remote machine;
b) generating a machine page at the remote machine, which page contains at least one registered object; and
b) browsing the object via a network adaptor and the machine page at the remote machine using a browser at the client station.
By associating an object with a machine page, a browser can be used at a client machine remotely to access the object at the machine, or virtual machine at which the machine page is provided. The act of registration of the object is arranged to permit remote access to the object via the network adaptor without needing to premodify the object or to require the object to include its own internal remote access methods.
The invention finds particular application to providing remote access to an object in the form of a bean comprising a set of properties, a set of methods for performing actions, and support for events and for introspection. Access to a bean via the network adaptor for the extraction of bean methods utilises this introspection. The framework and/or the network adaptor are preferably also implemented as beans, providing a flexible virtual machine structure.
Preferably, the remote machine comprises an agent framework and, in step (b), the network adaptor queries the framework to identify the registered object. This provides a flexible and extensible arrangement for permitting access to objects at a remote machine. This provides a flexible method for adding new beans on demand. Indeed, as a further refinement, the preferred embodiment employs a framework which comprises an associated repository object and step (a) comprises registering the object and/or the network adaptor with the repository object. The framework and/or the network adaptor can also be beans. Step (b) can comprise extracting bean methods by introspection.
In a preferred embodiment the machine page is an HTML page at the virtual machine where the beans or objects are located and the network adaptor is an HTML adaptor at the machine. The bean can be represented as an HTML table wherein:
a first column contains a property name;
a second column contains a property type;
a third column contains the access right (read/write); and
a fourth column contains a property value.
In other embodiments, methods and/or support for events could also be provided in the HTML table.
The invention finds particular application to a network management system wherein the object to which access is sought is a managed object bean within a managed machine.
The object can be one of a set of beans at the remote machine, whereby step (d) can comprise:
displaying at a client machine representations of beans at the remote machine which are modifiable remotely from the client machine;
responding to user selection at the client machine of a displayed bean representation to display at the client machine bean properties which are remotely modifiable; and
responding to user input at the client machine remotely to modify selected parameters of the bean.
In accordance with another aspect of the invention, there is provided a computer-implemented method of accessing an object at a remote machine via a telecommunications network, the method comprising steps of:
mapping the object to an externally accessible machine page at the remote machine; and
browsing the object via the machine page using a browser.
In accordance with a further aspect of the invention, there is provided a computer system accessible remotely via a telecommunications network, the computer system comprising a mapping mechanism configured to map an object to an externally accessible machine page at the remote machine, whereby the object is accessible externally via the machine page using a browser.
The invention further provides a software system on at least one storage device for enabling remote access to an object via a telecommunications network, the system comprising a mapping mechanism configured to map an object to an externally accessible machine page, whereby the object can be accessed via the machine page using a browser.